package edu.hqu.rent_system.service.impl;

import edu.hqu.rent_system.mapper.TenantMapper;
import edu.hqu.rent_system.pojo.House;
import edu.hqu.rent_system.pojo.Meeting;
import edu.hqu.rent_system.pojo.Record;
import edu.hqu.rent_system.pojo.Tenant;
import edu.hqu.rent_system.service.TenantService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class TenantServiceImpl implements TenantService {

    @Autowired
    private TenantMapper tenantMapper;

    //租客查询租房记录
    @Override
    public List<Record> queryTenantRecord(int tId) {
        return tenantMapper.queryTenantRecord(tId);
    }

    //租客修改个人信息
    @Override
    public int updateTenantInform(Tenant tenant) {
        return tenantMapper.updateTenantInform(tenant);
    }

    //租客查询所有可租房屋
    @Override
    public List<House> queryAllHouse() {
        return tenantMapper.queryAllHouse();
    }

    //租客模糊查询所有可租房屋
    @Override
    public List<House> queryHouseLike(String inputInform) {
        return tenantMapper.queryHouseLike(inputInform);
    }

    //租客发出租房请求
    @Override
    public int addMeetingByTenant(Meeting meeting) {
        return tenantMapper.addMeetingByTenant(meeting);
    }

    //租客查询会面信息
    @Override
    public List<Meeting> queryMeetingByTenant(int tId) {
        return tenantMapper.queryMeetingByTenant(tId);
    }

    //租客查询指定会面信息的状态（用于删除前判断）
    @Override
    public String queryMeetingStatusByMId(int mId) {
        return tenantMapper.queryMeetingStatusByMId(mId);
    }

    //租客删除会面信息
    @Override
    public int deleteMeetingByTenant(int mId) {
        return tenantMapper.deleteMeetingByTenant(mId);
    }

    //查询租客（用于登录）
    @Override
    public Tenant queryTenantInform(int tId) {
        return tenantMapper.queryTenantInform(tId);
    }

    //添加租客（用于注册）
    @Override
    public int addTenant(Tenant tenant) {
        return tenantMapper.addTenant(tenant);
    }

    //删除租客（用户注销）
    @Override
    public int deleteTenant(int tId) {
        return tenantMapper.deleteTenant(tId);
    }

    @Override
    public List<Tenant> queryAllTenant() {
        return tenantMapper.queryAllTenant();
    }


    @Override
    public Tenant queryTenantByPhone(String phone) {
        return tenantMapper.queryTenantByPhone(phone);
    }
}
